Permission Request For Social Media Content In A Video Production System

ABSTRACT

In one aspect, a method includes a first computing-system (i) selecting a social media (SM) content item associated with a second computing-system, (ii) based on the selected SM content item, determining a SM-platform user-profile identifier associated with the selected SM content item, (iii) using the identifier to determine that the second computing-system has installed, in its data storage unit, an application associated with the first computing-system, (iv) responsive to determining that the second computing-system has installed the application, transmitting, to the second computing-system, an instruction that causes the application to provide, via a user interface of the second computing-system, a permission request concerning use of the selected SM content item, (v) determining that the requested permission was received via the user interface, and (vi) responsive to determining that the requested permission was received via the user interface, facilitating integration of the selected SM content item into a media program.

RELATED DISCLOSURES

This disclosure is a continuation of U.S. patent application Ser. No.15/211,153 filed on Jul. 15, 2016, which claims priority to (i) U.S.Provisional Patent Application No. 62/194,171, titled “Video ProductionSystem with Social Media Features,” filed on Jul. 17, 2015, and (ii)U.S. Provisional Patent Application No. 62/242,593, titled “VideoProduction System with Content-Related Features,” filed on Oct. 16,2015, all of which are hereby incorporated by reference in theirentirety.

USAGE AND TERMINOLOGY

In this disclosure, with respect to all reasonable derivatives of suchterms, unless otherwise specified and/or unless the particular contextclearly dictates otherwise, each usage of “a” or “an” means at leastone, and each usage of “the” means the at least one.

BACKGROUND

Unless otherwise specified, the materials described in this section arenot prior art to the claims in this disclosure and are not admitted tobe prior art by inclusion in this section.

A video-production system (VPS) can generate and/or output a videoprogram (e.g., a news program) in the form of video content. The VPS caninclude various components to facilitate this. For example, the VPS caninclude a scheduling system, which can create and/or edit a programschedule, perhaps based on input received from a user (e.g., a produceror technical director) via a user interface. Further, the VPS caninclude a sequencing system, which can process records in the programschedule, and based on the processed records, control one or morecomponents of the VPS to facilitate generating and/or outputting thevideo program.

SUMMARY

In a first aspect, an example method for use in a VPS is disclosed. Themethod includes: (i) selecting, by a first computing-system, a socialmedia (SM) content item, wherein the SM content item is associated witha second computing-system; (ii) based on the selected SM content item,determining, by the first computing-system, a SM-platform user-profileidentifier associated with the selected SM content item; (iii) using, bythe first computing-system, the identifier as a basis for determiningthat the second computing-system has installed, in a data storage unitof the second computing-system, an application associated with the firstcomputing-system; (iv) responsive to determining that the secondcomputing-system has installed the application, transmitting, by thefirst computing-system, to the second computing-system, an instructionthat causes the application to provide, via a user interface of thesecond computing-system, a permission request concerning use of theselected SM content item; (v) determining, by the firstcomputing-system, that the requested permission was received via theuser interface; and (vi) responsive to determining that the requestedpermission was received via the user interface, facilitating, by thefirst computing-system, integration of the selected SM content item intoa media program.

In a second aspect, a non-transitory computer-readable medium isdisclosed. The computer-readable medium has stored thereon instructionsthat, upon execution by a first computing-system, cause the firstcomputing-system to perform a set of acts including: (i) selecting a SMcontent item, wherein the SM content item is associated with a secondcomputing-system; (ii) based on the selected SM content item,determining a SM-platform user-profile identifier associated with theselected SM content item; (iii) using the identifier as a basis fordetermining that the second computing-system has installed, in a datastorage unit of the second computing-system, an application associatedwith the first computing-system; (iv) responsive to determining that thesecond computing-system has installed the application, transmitting, tothe second computing-system, an instruction that causes the applicationto provide, via a user interface of the second computing-system, apermission request concerning use of the selected SM content item; (v)determining that the requested permission was received via the userinterface; and (vi) responsive to determining that the requestedpermission was received via the user interface, facilitating integrationof the selected SM content item into a media program.

In a third aspect, a first computing-system includes a communicationinterface and the first computing-system is configured to perform a setof acts including: (i) selecting a SM content item, wherein the SMcontent item is associated with a second computing-system; (ii) based onthe selected SM content item, determining a SM-platform user-profileidentifier associated with the selected SM content item; (iii) using theidentifier as a basis for determining that the second computing-systemhas installed, in a data storage unit of the second computing-system, anapplication associated with the first computing-system; (iv) responsiveto determining that the second computing-system has installed theapplication, transmitting, to the second computing-system, via thecommunication interface, an instruction that causes the application toprovide, via a user interface of the second computing-system, apermission request concerning use of the selected SM content item; (v)determining that the requested permission was received via the userinterface; and (vi) responsive to determining that the requestedpermission was received via the user interface, facilitating integrationof the selected SM content item into a media program.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified block diagram of an example computing device.

FIG. 2 is a simplified block diagram of an example computing system.

FIG. 3 is a simplified block diagram of another example computingsystem.

FIG. 4A is a simplified illustration of a frame of an example videosegment, where no content is overlaid on the frame.

FIG. 4B is a simplified illustration of a frame of an example videosegment, where content is overlaid on the frame.

FIG. 5 is a simplified illustration of an example program schedule.

FIG. 6 is a flowchart of an example method.

FIG. 7 is a simplified illustration of an example user interface of a SMsystem.

FIG. 8 is simplified illustration of another example user interface of aSM system.

DETAILED DESCRIPTION I. Overview

In one aspect, the present disclosure provides a technique for a VPS torequest permission from a publisher of a SM content item concerning useof the SM content item, to determine that the permission was given, andto facilitate integrating the SM content item into a video program.

A SM content item is a content item that has been published on a SMplatform, which is a computer-based tool that allows users to create,share, and/or exchange content (e.g., in the form of text, pictures,and/or videos) in virtual communities on a computer-based network suchas the Internet. Examples of SM platforms include TWITTER™, YOUTUBE™,FACEBOOK™, PERISCOPE™, INSTAGRAM™, MEERKAT™, LINKED IN™, and GOOGLE+™.In line with this, a publisher of a SM content item is a user whopublishes the SM content item on a SM platform.

A SM platform can maintain a user profile for a publisher. The userprofile can be identified by a SM-platform user-profile identifier, suchas a username. When the publisher publishes a SM content item on the SMplatform, the SM content item can be associated with the identifier. Theidentifier can also be associated with an end-user device, such as thepublisher's mobile phone, which the publisher uses to publish SM contentitems. Because the SM content item can be associated with the identifierand the identifier can be associated with the end-user device, the SMcontent item can be associated with the end-user device.

In one example, a VPS includes a SM system and an end-user device. TheSM system can select a SM content item, which is associated with theend-user device. The SM system can select the SM content item in variousways.

Based on the selected SM content item, the SM system can determine aSM-platform user-profile identifier associated with the selected SMcontent item. The SM system can use the identifier as a basis fordetermining that the end-user device has installed, in a data storageunit of the end-user device, an application associated with the SMsystem.

Responsive to determining this, the SM system can transmit to theend-user device an instruction that causes the application to provide,via a user interface of the end-user device, a permission requestconcerning use of the selected SM content item. In one example, theinstruction can cause the application to provide the permission requestin the form of a prompt for the publisher to allow or deny the SM systemuse of the selected SM content item in a specified manner. In thisinstance, the publisher can provide the requested permission (or notprovide it) by providing an input to the end-user device via the userinterface. This input could be, for instance, a voice command input, atext command input, and/or a touchscreen command input.

Further, the SM system can determine that the requested permission wasreceived via the user interface. In one example, this act can includethe SM system receiving from the end-user device a message indicatingthat the requested permission was received via the user interface. TheSM system can store in memory an indication that the requestedpermission was received.

Responsive to determining that the requested permission was received viathe user interface, the SM system can facilitate integrating theselected SM content item into a media program, which the SM can do invarious ways.

II. Example Architecture

A. Computing Device

FIG. 1 is a simplified block diagram of an example computing device 100.Computing device 100 can perform various acts and/or functions, such asthose described in this disclosure (including the accompanyingdrawings). Computing device 100 can include various components, such asprocessor 102, data storage unit 104, communication interface 106,and/or user interface 108. These components can be connected to eachother (or to another device, system, or other entity) via connectionmechanism 110.

In this disclosure, the term “connection mechanism” means a mechanismthat facilitates communication between two or more devices, systems, orother entities. A communication mechanism can be a relatively simplemechanism, such as a cable or system bus, or a relatively complexmechanism, such as a packet-based communication network (e.g., theInternet). In some instances, a connection mechanism can include anon-tangible medium (e.g., where the connection is wireless).

Processor 102 can include a general-purpose processor (e.g., amicroprocessor) and/or a special-purpose processor (e.g., a digitalsignal processor (DSP)).

Data storage unit 104 can include one or more volatile, non-volatile,removable, and/or non-removable storage components, such as magnetic,optical, or flash storage, and/or can be integrated in whole or in partwith processor 102. Further, data storage unit 104 can take the form ofa non-transitory computer-readable storage medium, having stored thereonprogram instructions (e.g., compiled or non-compiled program logicand/or machine code) that, when executed by processor 102, causecomputing device 100 to perform one or more acts and/or functions, suchas those described in this disclosure. As such, computing device 100 canbe configured to perform one or more acts and/or functions, such asthose described in this disclosure. Such program instructions can defineand/or be part of a discrete software application. In some instances,computing device 100 can execute program instructions in response toreceiving an input, such as from communication interface 106 and/or userinterface 108. Data storage unit 104 can also store other types of data,such as those types described in this disclosure.

Communication interface 106 can allow computing device 100 to connect toand/or communicate with another other entity according to one or moreprotocols. In one example, communication interface 106 can be a wiredinterface, such as an Ethernet interface or a high-definitionserial-digital-interface (HD-SDI). In another example, communicationinterface 106 can be a wireless interface, such as a cellular or WI-FIinterface. Each connection described in this disclosure can be a directconnection or an indirect connection, the latter being a connection thatpasses through and/or traverses one or more entities, such as such as arouter, switcher, or other network device. Likewise, each transmissiondescribed in this disclosure can be a direct transmission or an indirecttransmission.

User interface 108 can facilitate interaction between computing device100 and a user of computing device 100, if applicable. As such, userinterface 108 can include input components such as a keyboard, a keypad,a mouse, a touch-sensitive panel, a microphone, and/or a camera, and/oroutput components such as a display device (which, for example, can becombined with a touch-sensitive panel), a sound speaker, and/or a hapticfeedback system.

Computing device 100 can take various forms, such as a workstation, adesktop computer, a laptop, a tablet, a television, a set-top box,and/or a mobile phone.

B. Computing System

FIG. 2 is a simplified block diagram of an example computing system 200.In this disclosure, a computing system is a system that includes atleast one computing device. In some instances, a computing system caninclude at least one other computing system.

Computing system 200 can include various components, such as VPS 202,video-broadcast system (VBS) 204, and end-user device 206, each of whichcan be implemented as a computing system. Computing system 200 can alsoinclude connection mechanism 208, which connects VPS 202 with VBS 204;and connection mechanism 210, which connects VBS 204 with end-userdevice 206.

VPS 202 can generate video content, which can serve as or be made partof a video program. VPS can then transmit the video content to VBS 204.VBS 204 can receive the video content and transmit the video content toend-user device 206 for presentation of the video content to an enduser. In practice, VBS 204 can transmit video content to a large numberof end-user devices for presentation of the video content to a largenumber of end users.

Video content can be generated, transmitted, and/or received in variousways and/or according to various standards. For example, the act ofgenerating video content can include generating a video streamrepresenting the video content. As another example, the act oftransmitting and/or receiving video content can include transmittingand/or receiving a video stream representing the video content, such asover Internet Protocol (IP) or in accordance with the high-definitionserial digital interface (HD-SDI) standard. Also, the act of generating,transmitting, and/or receiving video content can include generating,transmitting, and/or receiving an encoded or decoded version of thevideo content.

FIG. 3 is a simplified block diagram of an example VPS 202. VPS 202 caninclude various components, such as video source 302, DVE system 304,sequencing system 306, SM system 308, and scheduling system 310, each ofwhich can be implemented as a computing system. VPS 202 can also includeconnection mechanism 312, which connects video source 302 with DVEsystem 304; connection mechanism 314, which connects sequencing system306 with video source 302; connection mechanism 316, which connectssequencing system 306 with DVE system 304; connection mechanism 318,which connects sequencing system 306 with SM system 308, connectionmechanism 320, which connects sequencing system 306 with schedulingsystem 310; and connection mechanism 322, which connects SM system 308with scheduling system 310.

In addition, VPS 202 can include an end-user device 324, and can alsoinclude connection mechanism 326, which connects end-user device 324 toSM system 308. End-user device 324 can be implemented as a computingsystem as well, and can take various forms, such as a smart phone,laptop computer, or tablet computer.

Video source 302 can generate and/or output video content, and cantransmit the video content to DVE system 304. Video source 302 can takevarious forms, such as a character generator (CG), a video server, asatellite receiver, a video camera, or a DVE system. Video source 302can also take the form of DVE system 304 or SM system 308, as describedbelow.

A CG can generate video content based on input data. For example, acharacter generator can receive weather data and then generate videocontent that includes the weather data. As another example, a charactergenerator can use an ordered set of content items to generate videocontent that includes the content items in the specified order. Thistype of generated video content is sometimes referred to in the industryas a “ticker.” The content items can include various types of content,such as text and/or images. The ordered set of content items can bestored in various forms, such as in the form of an extended markupLanguage (XML) file. An example CG is VizRT Trio/VizRT Engine providedby Viz Rt™ of Bergen, Norway. Another example CG is the CasparCGdeveloped and distributed by the Swedish Broadcasting Corporation (SVT).

A video server can store, retrieve, and/or output video content. Anexample video server is the K2 server provided by Grass Valley™ of SanFrancisco, Calif.

DVE system 304 can execute a DVE, which can cause DVE system 304 togenerate and/or output video content. DVE system 304 can then transmitthe video content to VBS 204. In one example, DVE system 304 can receivefirst video content from video source 302, and can execute a DVE, whichcauses DVE system 304 to generate second video content by modifying thefirst video content. As such, DVE system can generate video content bymodifying other video content.

DVE system 304 can modify video content in various ways, such as byoverlaying text, images, video, or other content thereon. For example,DVE system 304 can modify video content by overlaying, on a lowerright-hand corner region of the video content, a channel logo. Asanother example, DVE system 304 can modify video content by overlaying,on a lower-third region of the video content, a text box including text.As yet another example, DVE system 304 can modify video content byoverlaying, on the video content, a SM content item. As another example,DVE system can modify video content by scaling or re-positioning thevideo content or a portion thereof

FIGS. 4A and 4B help illustrate the concept of overlaying content onvideo content. FIG. 4A is a simplified diagram of a frame 400 of videocontent. Frame 400 includes content 402, but does not include contentoverlaid on content 402. For comparison, FIG. 4B is a simplified diagramof another frame 450 of video content. Frame 450 includes content 452and content 454 overlaid on content 452. Content 454 is a SM contentitem that includes text indicating that there is severe weather inChicago and that includes a photo of the severe weather.

As noted above, DVE system 304 can execute a DVE, which causes DVEsystem to generate video content by modifying other video content.However, as another example, DVE system 304 can execute a DVE, whichcauses DVE system 304 to generate video content without modifying othervideo content. This type of DVE is sometimes referred to in the industryto as a “full screen DVE.”

DVE system 304 can obtain content for use in connection with executing aDVE in various ways. For example, DVE system 304 can retrieve thecontent from a data storage unit of DVE system 304. As another example,DVE system 304 can receive the content from a video source, such asvideo source 302 or SM system 308.

In practice, DVE system 304 can execute multiple DVEs in serial fashion.Further, in practice, VPS 202 can include multiple video sources. In onearrangement, each of multiple video sources can be connected to DVEsystem 304, and DVE system 304 can switch between one or more inputs asappropriate to receive and use video content in connection with DVEsystem 304 executing a given DVE.

DVE system 304 can also perform other acts and/or functions related toDVEs. For example, DVE system 304 can create and/or edit DVEs, perhapsbased on input received from a user via a user interface. When DVEsystem 304 creates a DVE, DVE system 304 can generate and storecorresponding program instructions for later retrieval and execution. Assuch, the act of DVE system 304 executing a DVE can include DVE system304 retrieving and executing program instructions corresponding to theDVE.

DVE system 304 can take various forms, such as a production switcher. Anexample production switcher is the Vision Octane production switcherprovided by Ross Video Ltd. of Iroquois, Ontario in Canada.

SM system 308 can perform acts and/or functions related to SM contentitems. For example, SM system 308 can retrieve, store, and/or edit a SMcontent item. Further, SM system 308 can generate and/or output a SMcontent item or video content that includes a SM content item.

Scheduling system 310 can perform acts and/or functions related toscheduling and/or managing the production of a video program. Forexample, scheduling system 310 can create and/or edit a program scheduleof a video program, perhaps based on input received from a user via auser interface. Sequencing system 306 can then process records in theprogram schedule. This can cause sequencing system 306 to control one ormore other components of VPS 202 to facilitate VPS 202 generating and/oroutputting video content, which can serve as or be part of a videoprogram. As such, based on a program schedule, sequencing system 306 cancontrol video source 302, DVE system 304 and/or SM system 308.

A program schedule (sometimes referred to in the industry as a“rundown”) serves as a schedule or outline of a video program and caninclude multiple records. A video program can be conceptually dividedinto multiple logically-separated portions (sometimes referred to in theindustry as “stories”). In one example, each portion of the videoprogram can be represented by a separate record of the program schedule.Each record can include various types of data.

FIG. 5 is a simplified diagram of an example program schedule 500.Program schedule 500 includes ten records represented as ten orderedrows. Each record corresponds to a respective portion of a videoprogram, except for one which corresponds to a commercial break. Foreach portion, the respective record specifies at least one data itemthat corresponds to that portion of the video program. In particular,each record specifies at least one of a story title, a video-segmentidentifier, a duration, and a DVE identifier (which can serve as aninstruction to execute the identified DVE).

In this disclosure, the term “video segment” means a portion of videocontent. In some instances, a video segment consists oflogically-related video content. For instance, a video segment can be acommercial or a portion of a television show that is scheduled betweentwo commercial breaks.

As shown in FIG. 5, the first record specifies a story title of STORY A,a video-segment identifier of VS ID A, a duration of 00:02:00:00 (inhours::minutes:: seconds::frames format), and a DVE identifier of DVE IDA. As such, upon sequencing system 306 processing the first record,sequencing system 306 can cause video source 302 to playout a videosegment identified by the video-segment identifier VS ID A for twominutes, and further can cause DVE system 304 to execute a DVEidentified by the DVE identifier DVE ID A, which for example, can causeDVE system 304 to overlay specified content on the identified videosegment.

As another example, the third record specifies a story title of STORY C,a duration of 00:00:30:00, and a DVE identifier of DVE ID C. As such,upon sequencing system 306 processing the third record, sequencingsystem 306 can cause DVE system 304 to execute a DVE identified by theDVE identifier DVE ID C, which for example, can cause DVE system 304 togenerate and output video content for two minutes.

It should be noted that program schedule 500 has been greatly simplifiedfor the purposes of illustrating certain features. In practice, aprogram schedule is likely to include significantly more data such asfurther details regarding DVE execution timing. In some aspects,sequencing system 306 can be configured to process a next record in theprogram schedule based on input received from a user via a userinterface.

VBS 204 can transmit video content to end-user device 206 forpresentation of the video content to an end user. In practice, VBS 204can transmit video content to a large number of end-user devices forpresentation of the video content to a large number of end users. VBS204 can include various components to facilitate this, such as aterrestrial antenna or a satellite, each of which can be implemented asa computing system.

In this disclosure, the term “video broadcast” means the distribution ofvideo content via any means. As such, VBS 204 can transmit video contentto end-user device 206 in various ways. For example, VBS 204 cantransmit video content to end-user device 206 over-the-air or via apacket-based network such as the Internet.

End-user device 206 can receive video content from VBS 204, and canpresent the video content to an end-user via a user interface.

Each of the video-based systems or devices described in this disclosurecan include or be integrated with a corresponding audio-based system ordevice. Likewise, the video content described in this disclosure caninclude or be integrated with corresponding audio content.

III. Example Operations

Computing system 200 and/or components of computing system 200 canperform various acts. These and related features will now be described.

A. SM Content Item Selection and Acquisition

SM system 308 can obtain a SM content item in various ways. In oneaspect, SM system 308 can obtain a SM content item from a SM platform by(i) accessing the SM platform, (ii) selecting the SM content itempublished on the SM platform, (iii) responsive to the selection,receiving information relating to the selected SM content item, (iv)using the received information to retrieve the SM content item from theSM platform, and (v) storing the retrieved SM content item in a datastorage unit.

In some examples, SM system 308 can access a SM platform in a mannerthat allows a user to view, search for, and/or browse SM content itemsvia a user interface, such as by accessing the SM platform via a webbrowser application. SM system 308 can then select the SM content itembased on an input received from a user via a user interface, such as adrag-and-drop input and/or a copy-and-paste input. To implement adrag-and-drop input, for instance, SM system 308 can drag a selectableobject associated with the SM content item to a drop-target object, andthen SM system 308 can drop the selectable object on the drop-targetobject. In one implementation, the selectable object can be provided ina first application window displaying the web browser application andthe drop-target object can be provided in a second application windowdisplaying a graphical user interface of SM system 308. The graphicaluser interface of SM system 308 can facilitate operations describedherein on retrieved SM content items.

The information relating to the selected SM content item can be anyinformation that facilitates retrieving the SM content item from the SMplatform, such as a link to the SM content item for instance. SM system308 can then retrieve the selected SM content item in various ways, suchas by using the link to generate and transmit a request for the SMcontent item to an application programming interface (API) associatedwith the SM platform.

The retrieved SM content item can include various types of data such as,for example, (i) data indicating the SM platform from which the SMcontent item was retrieved (e.g., FACEBOOK™ or TWITTER™), (ii) dataidentifying the publisher of the SM content item (e.g., an accountidentifier, such as a username), (iii) a profile picture correspondingto the publisher of the SM content item, (iv) text published by thepublisher in connection with the SM content item, (v) an image publishedby the publisher in connection with the SM content item, (vi) videocontent published by the publisher in connection with the SM contentitem, (vii) audio content published by the publisher in connection withthe SM content item, (viii) a timestamp indicating a time and/or date atwhich the SM content item was published on the SM platform, (ix) globalpositioning system (GPS) coordinates of the publisher when the SMcontent item was published, (x) GPS coordinates of a location at whichan aspect of the SM content item occurred (e.g., a video was filmed or apicture was taken), (xi) a number of other users associated with thepublisher on a SM platform (e.g., a number of friends or followers),(xii) an indication of how long the publisher has been a user of a SMplatform, (xiii) a timestamp indicating a time and/or date at which anaspect of the SM content item was created (e.g., a time/date a video wasrecorded or a picture was taken), (xiv) a number of times a SM contentitem has been shared (e.g., retweeted) by other users of a SM platform,(xv) a number of posts by the publisher on a SM platform, and/or (xvi)any other data that can be integrated into a video program.

Once retrieved, the SM system 308 can store the SM content item in adata storage unit of the SM system 308. In some examples, the SM system308 can store the SM content item in a database maintained in the datastorage unit of the SM system 308 (hereinafter “SMS database”). In suchexamples, the data retrieved for a SM content item can be stored as arecord in the SMS database. The SMS database can have multiple datafields that are each configured to store particular types of data (suchas those described above) for the SM content item. Accordingly, SMsystem 308 can retrieve data for the selected SM content item, parse thedata to determine which portions of the data correspond to which fieldsin the SMS database, and then populate the record in the SMS databasewith the determined portions of the data in the corresponding fields.The SM system 308 can also assign the record a unique identification(ID) number to facilitate managing the SM content items stored in theSMS database. Depending on the SM content item selected, one or more ofthe potential fields can be left unpopulated for a stored record in theSMS database.

As noted above, one example of how SM system 308 can select a SM contentitem is by using a drag-and-drop input. To implement a drag-and-dropinput, SM system 308 can drag a selectable object associated with the SMcontent item to a drop-target object, and then SM system 308 can dropthe selectable object on the drop-target object. In one implementation,the selectable object can be provided in a first application windowdisplaying the web browser application and the drop-target object can beprovided in a second application window displaying a graphical userinterface of SM system 308, and thus the selectable object can bedragged from the first application window to the drop-target objectdisplayed in the second application window and then dropped on thedrop-target object. The graphical user interface of SM system 308 canfacilitate operations described herein on retrieved SM content items.

In some examples, the act of selecting a SM content item can involveselecting one SM content item from among multiple SM content itemsstored in a data storage unit. For example, the act of selecting a SMcontent item can involve selecting the SM content item from amongmultiple SM content items that were added to the SMS database earlier byway of a drag-and-drop input or another operation. Other examples arepossible as well.

B. Permission Requests for SM Content Item

In line with the discussion above, the SM content item that SM system308 selects can be associated with end-user device 324. In one example,the SM content item can also be associated with a SM-platformuser-profile of the publisher of the SM content item, and theSM-platform user-profile can be associated with end-user device 324. Toillustrate the relationship between the SM content item, the SM-platformuser-profile, and end-user device 324, consider a scenario in which thepublisher of the SM content item owns or otherwise operates end-userdevice 324. In this scenario, the publisher can use end-user device 324or another computing system to access a SM platform by logging in totheir SM-platform user-profile, and can then publish the SM content itemon the SM platform via the publisher's SM-platform user-profile.

SM system 308 can then determine, based on the selected SM content item,a SM-platform user-profile identifier associated with the selected SMcontent item. In some aspects, the SM-platform user-profile identifiercan be a unique global identifier assigned to the publisher (namely,assigned to the publisher's SM-platform user-profile) that serves as away to identify the publisher on every form of the SM platform at issue(e.g., on a web browser, on an application installed on end-user device324 or on another device, etc.). In these aspects, the SM-platformuser-profile identifier can take the form of a personal alphabetic,numeric, or alphanumeric identifier that is different from thepublisher's username on the SM platform.

The act of determining the SM-platform user-profile identifier can beperformed in various ways. In one example, the act of determining theSM-platform user-profile identifier can include retrieving theSM-platform user-profile identifier using one or more of the techniquesdiscussed above for retrieving other SM data (e.g., requesting andreceiving the SM-platform user-profile identifier via an API of the SMplatform). Further, in some instances, third parties can provide aweb-based tool for determining the SM-platform user-profile identifier.Accordingly, as an alternative technique to obtaining the SM-platformuser-profile identifier via an API or server of the SM platform itself,SM system 308 can use such a web-based tool for determining theSM-platform user-profile identifier. For example, SM system 308 canenter a URL or username associated with the publisher's SM-platformuser-profile (or with the SM content item itself) into the web-basedtool, and the web-based tool can responsively provide SM system 308 withthe SM-platform user-profile identifier. Other techniques fordetermining the SM-platform user-profile identifier are possible aswell.

Once SM system 308 has determined the SM-platform user-profileidentifier, SM system 308 can then use the SM-platform user-profileidentifier as a basis for determining that end-user device 324 hasinstalled an application associated with SM system 308. To facilitatethis in practice, for instance, SM system 308 (or VPS 202 in general)can have access to a database that includes information associated witha variety of SM-platform user-profiles and end-user devices. Forexample, such information can include: (i) a list of SM-platformuser-profile identifiers, (ii) for each SM-platform user-profileidentifier, an indication of whether the publisher associated with thatSM-platform user-profile identifier has the application installed on anend-user device. Accordingly, in some examples, the act of determiningthat end-user device 324 has installed an application associated with SMsystem 308 can include referring to the database to determine that thepublisher associated with the determined SM-platform user-profileidentifier has the application installed on end-user device 324.

The database noted above can be stored in a data storage unit associatedwith SM system 308, a data storage unit associated with one or moreother components of VPS 202, and/or a data storage unit located remotelyfrom VPS 202 but with which VPS 202 is communicatively linked.

In response to SM system 308 determining that end-user device 324 hasinstalled the application at issue, SM system 308 can then transmit toend-user device 324 an instruction that that causes the application toprovide, via a user interface of end-user device 324, a permissionrequest concerning use of the selected SM content item. To facilitatetransmission of the instruction in practice, for instance, the databasediscussed above can further include, for each end-user device on whichthe application is installed, a unique identifier of the end-user device(e.g., an International Mobile Station Equipment Identity (IMEI) number,a Mobile Equipment Identifier (MEID), etc.) that SM system 308 and/oranother system or server is configured to use to contact the end-userdevice. Accordingly, in some examples, the act of transmitting theinstruction to end-user device 324 can include referring to the databaseto look up the unique identifier that is associated to end-user device324, and then transmitting the instruction to end-user device 324 usingits unique identifier. In other examples, the database can include otherinformation that can be used to facilitate identification of end-userdevices and transmission of instructions to such end-user devices.

In some implementations, the instruction can cause the application toprovide the permission request in the form of a prompt for the publisherto allow or deny SM system 308 access to and/or use of the selected SMcontent item. For example, the instruction can cause the application toprovide the permission request as an audio prompt via an audio userinterface of end-user device 324 (e.g., a speaker) and/or as a visualprompt for display via a graphical user interface of end-user device 324(e.g., a touchscreen). Further, in some aspects, the prompt can includea message describing use of the selected SM content item to thepublisher. For instance, the message can state: “A SM System would liketo integrate this SM content item into a media program. Would you liketo allow the SM System to do this?” Still further, the message can alsodescribe to the publisher how to respond to the permission request(e.g., “Please speak or select ‘Yes’ or ‘No’.”). Other messages arepossible as well.

Moreover, end-user device 324 can be configured to receive a response tothe permission request via the user interface of end-user device 324.For example, the response to the permission request can be received as avoice command input via an audio user interface of end-user device 324(e.g., a microphone). Additionally or alternatively, the response can bereceived as a text command input via a text entry user interface (e.g.,a physical keyboard component of end-user device 324, or a touchscreenkeyboard displayed on a graphical user interface of end-user device324). Additionally or alternatively, the response can be received as atouchscreen command input via a touchscreen of end-user device 324,where the touchscreen command input is a binary selection of one of twographical user interface elements displayed on end-user device 324(e.g., ‘Yes’ or ‘No’). Other examples are possible as well.

Although acts are described above with respect to causing theapplication associated with SM system 308 to provide the permissionrequest, in other implementations, SM system 308 can use the SM platformassociated with the selected SM content item to facilitate thepermission request. For example, if the selected SM content item is aFACEBOOK™ content item, SM system 308 can cause a FACEBOOK™ application(or FACEBOOK™ messenger application) installed on end-user device 324 toprovide the permission request, such as by sending the publisher aFACEBOOK™ message. Additionally or alternatively, in still otherimplementations, SM system 308 can provide the permission request in theform of an email sent to an email address associated with thepublisher's SM user-profile and/or an email address associated with thepublisher's third party email account.

After transmitting the instruction, SM system 308 can then determinethat the requested permission was received via the user interface ofend-user device 324. In some aspects, upon receipt of the requestedpermission via the user interface of end-user device 324, end-userdevice 324 can transmit to SM system 308 a message indicating that therequested permission was received via the user interface. Accordingly,in these aspects, the act of determining that the requested permissionwas received via the user interface can include receiving, from end-userdevice 324, a message indicating that the requested permission wasreceived via the user interface and, based on the received message,determining that the requested permission was received via the userinterface. Further, once SM system 308 determines that the requestedpermission was received via the user interface, SM system 308 can thenstore in memory, such as the database noted above or other data storage,an indication (e.g., a flag) that the requested permission was received.

In response to SM system 308 determining that the requested permissionwas received via the user interface of end-user device 324, SM system308 can then facilitate integration of the selected SM content item intoa media program. SM system 308, and VPS 202 as a whole, can integratethe selected SM content into a media program in various ways, such asthose described below.

FIG. 6 is a simplified illustration of an example flowchart forpermission requests for content in a VPS. In an example implantation, afirst computing-system such as SM system 308 performs the illustratedacts, although in other implementations, one or more other systems(e.g., other component(s) of VPS 202) can perform some or all of theillustrated acts.

As shown in FIG. 6, at block 610, the first computing-system (e.g., SMsystem 308) selects a SM content item, where the SM content item isassociated with a second computing-system (e.g., end-user device 324).

Next, at block 612, based on the selected SM content item, the firstcomputing-system determines a SM-platform user-profile identifierassociated with the selected SM content item.

At block 614, the first computing-system then uses the identifier as abasis for determining that the second computing-system has installed, ina data storage unit of the second computing-system, an applicationassociated with the first computing-system.

Further, at block 616, responsive to the determining that the secondcomputing-system has installed the application, the firstcomputing-system transmits, to the second computing-system, aninstruction that causes the application to provide, via a user interfaceof the second computing-system, a permission request concerning use ofthe selected SM content item.

Still further, at block 618, the first computing-system determines thatthe requested permission was received via the user interface.

Lastly, at block 620, responsive to the determining that the requestedpermission was received via the user interface, the firstcomputing-system facilitates integration of the selected SM content iteminto a media program.

C. SM Content Item Integration

Once the SMS database is populated with one or more SM content items, SMsystem 308 can prepare the SM content item(s) for integration into thevideo program. This process can include SM system 308 selecting atemplate from among multiple templates to determine an arrangementand/or layout for presenting the SM content item(s) in the videoprogram. The templates can include graphics and/or animations that arepre-formatted to allow for aspects of one or more SM content items to beincorporated by a CG in pre-defined ways. For example, a template candefine respective positions at which text, images, and/or videos of theSM content item can be overlaid on a video segment of the video program.The template can also define an order in which different SM contentitems will be presented during the video program. Thus, video programs(e.g., news stories) can easily be produced by leveraging a previouslycreated template. This can save time and maintain format consistencyacross multiple video programs and/or portions thereof.

According to some aspects, the template can be modified by a user of SMsystem 308 (e.g., a producer or technical director) in various ways.According to additional aspects, the template can also be selectedbefore the SM content items are selected.

FIG. 7 illustrates an example graphical user interface 700 including atemplate 760 populated with images corresponding to SM content items730. The user interface 700 can also include a list 742 having multipleslots populated with the SM content items 730. In some aspects, eachimage location in the template can be associated with a respective sloton the list 742. As such, the image displayed in a particular locationin the template can be the image of the SM content item occupying theslot associated with that location.

As shown in FIG. 7, each slot includes a respective drop-target object764 to facilitate selecting a SM content item for that slot on the list742. Further, each drop-target object 764 (and, thus, each slot) isassociated with a different, respective record location in a SMSdatabase.

In one aspect, the drop-target objects 764 can be utilized to add SMcontent items from a web browser application, for example, as describedabove with respect to FIGS. 6 to 7C. Accordingly, each drag-and-dropinput received by SM system 308 stores a record in the SMS database,populates the list with information for the selected SM content item,and populates the template with an image. In this way, the list, thetemplate, and the SMS database can be populated with a SM content itemat the same time. In the event that a new SM content item isdragged-and-dropped to a slot that already includes another SM contentitem, SM system 308 can replace the other SM content item with the newSM content item in the slot and overwrite the associated record in theSMS database with the data of the new SM content item. In anotheraspect, the drop-target objects 764 can be utilized to add SM contentitems already stored in the SMS database.

The example user interface 700 also includes a drop-target object 736.Responsive to the user dragging and dropping a SM content item on thedrop-target object 736, the SM data obtained for the SM content item canbe stored dynamically stored in an available storage location within theSMS database.

The user interface of SM system 308 can include a preview window 762that displays a selected template populated with one or more selected SMcontent items. In this way, a user can determine how the SM contentitem(s) will appear when integrated into the video program and determinewhether any modifications should be made. In some instances, it may notbe appropriate or desirable to integrate an entire SM content item intothe video program. For example, the text obtained for the SM contentitem can include a URL that the user may wish to omit to provide acleaner presentation of the SM content item during the video program. Asanother example, the text of the SM content item may include vulgaritiesor personal information that the user may wish to omit from the videoprogram.

The user interface of SM system 308 can facilitate modifying one or moreaspects of a SM content item. In one example implementation, the userinterface can display a list of SM content items that have been selectedfor integration into the video program (e.g., the list 742 in FIG. 7).In this example, for each of the listed SM content items, the userinterface can also include an edit button 766. When the edit button 766is selected for a particular SM content item, the SM system 308 canprovide one or more editable data fields displaying the data stored inthe SMS database for that SM content item. An example user interface 800providing editable data fields 870 is illustrated in FIG. 8.

To modify the text associated with a particular SM content item, theuser can modify the text displayed in an editable text field of the userinterface for that SM content item. Responsive to the user modifying thetext in the user interface, SM system 308 can automatically modify thecorresponding data stored in the SMS database in a consistent manner. Inother examples, other aspects of the SM content item (e.g., videos,images, or audio files) can be modified via the user interface to causeSM system 308 to modify corresponding data stored in the SMS database.In some examples, any modifications to the SM content item can be shownin real-time in the preview window 762 of the user interface for SMsystem 308.

Typically, SM platforms provide data for SM content items in a commonweb browser file format such as, for example, HTML, HTML5, orJavaScript. On the other hand, one or more components of the VPS 202 canutilize an entirely different file format to playout videos, text, orimages. SM system 308 can facilitate integrating SM content items intothe video program, at least in part, by handling these formattingdifferences. For example, SM system 308 can include a CG that (i)displays a SM content item in its native web browser file format in thepreview window of the user interface but (ii) reformats the SM contentitems to a standard broadcast format for display in the video program.Such a CG allows the data obtained for a SM content item to be stored inthe SMS database in the format in which it is received from the SMplatform. Because the SM content item does not need to be reformatteduntil the SM content item is ready to be integrated into the videoprogram, SM system 308 can reduce the processing workload and time forpreparing the SM content item.

Once a SM content item is obtained and prepared, SM system 308 canfacilitate integrating the SM content item into the video program invarious ways. According to some aspects, a SM content item can beintegrated into the video program via a video camera. In practice, a SMcontent item can be displayed on a display device located within thefield of view of the video camera (e.g., on a set where filming occursfor the video program). For example, the SM content item can bedisplayed on a touch screen device, which allows an on-air presenter tointeract with the SM content item. To facilitate the presenter'sinteractions with the SM content item, SM system 308 can be programmedwith instructions that cause predefined actions in response topredetermined touch commands.

In one example, the touch screen can initially display multiple smalltiles, each representing a different SM content item. In this example,the SM content items can relate to weather conditions captured inphotographs published on SM platforms by various different publishers.As such, each tile can display a different photograph. The position andordering of the small tiles can be determined by a template selected forthe display of the SM content items. The selected template can alsoinclude programming instructions that allows the commands provided viathe touch screen display to cause predefined actions for the displayedSM content items. For example, if a meteorologist taps on one of thesmall items a first time, the programming instructions can cause thetile to expand so as to enlarge the photograph and perhaps displayadditional information associated with the SM content item (e.g., ausername, time, location, and/or text published in connection with theSM content item). Other commands can cause an expanded tile to return toits initial size and position in this example. As the meteorologistinteracts with the SM content items displayed on the touch screen, acamera can generate a video output including these interactions andthereby integrate the SM content items into the video program.

In some examples, a SM content item can be integrated into the videoprogram via DVE system 304 executing a DVE. To do so, SM system 308 canfacilitate integrating a selected template and a SM content item intothe program schedule maintained by the scheduling system 310. Theprogram schedule can include multiple Media Object Server CommunicationProtocol (“MOS Protocol”) objects that collectively define variouscontent items and actions scheduled to occur for the video program. Tofacilitate integration of the template and the SM content item, SMsystem 308 can facilitate transforming the selected template and SMcontent item into a MOS object. In practice, this can be achieved bycreating a record in a scheduling database having appropriate MOSprotocol fields populated by references to the SM fields in the SMSdatabase. In one example implementation, SM system 308 can create therecord in the scheduling database in response to the userdragging-and-dropping a selectable object in the user interface of theSM system into the scheduling system. Other example mechanisms forcreating a MOS object based on SM content items are also contemplated.

The MOS object can include programming instructions that correspond to asequence for playing out multiple states of the SM content items and thetemplate. Based on such instructions, sequencing system 306 can beemployed to step through the different states (e.g., in response to auser provided input).

The SM content item and the template also can be integrated into thevideo program via a DVE system of the video-broadcast system 204. Inthis context, the SM content item can be integrated in a manner thatpersistently displays the SM content item even if the video program isnot being broadcasted (e.g., during commercial breaks). For example,such implementations can be utilized to display SM content items relatedto amber alerts, severe weather warnings, and/or public safetyadvisories.

IV. Example Variations

Although some of the acts and/or functions described in this disclosurehave been described as being performed by a particular entity, such actsand/or functions can be performed by any entity, such as those describedin this disclosure. Further, although the described acts and/orfunctions have been recited in a particular order, the acts and/orfunctions need not be performed in the order recited. However, in someinstances, it can be desired to perform the acts and/or functions in theorder recited. Further, each of the acts and/or functions can beperformed responsive to one or more of the other acts and/or functions.Also, not all of the described acts and/or functions need to beperformed to achieve one or more of the benefits provided by thisdisclosure, and therefore not all acts and/or functions are required.

Although certain variations have been discussed in connection with oneor more example of this disclosure, such variations can also be appliedto all of the other examples of this disclosure as well.

Although select examples of this disclosure have been described,alterations and permutations of these examples will be apparent to thoseof ordinary skill in the art. Other changes, substitutions, and/oralterations are also possible without departing from the invention inits broader aspects as set forth in the following claims.

What is claimed is:
 1. A method comprising: selecting, by avideo-production system (VPS), a social media (SM) content item, whereinthe SM content item is associated with an end-user device; based on theselected SM content item, determining, by the VPS, a SM-platformuser-profile identifier associated with the selected SM content item;using, by the VPS, the identifier as a basis for determining that theend-user device has installed, in a data storage unit of the end-userdevice, an application associated with a SM computing-system of the VPS;responsive to the determining that the end-user device has installed theapplication, transmitting, by the VPS, to the end-user device, aninstruction that causes the application to provide, via a user interfaceof the end-user device, a permission request concerning use of theselected SM content item; determining, by the VPS, that the requestedpermission was received via the user interface; and responsive to thedetermining that the requested permission was received via the userinterface, (i) integrating, by the VPS, the selected SM content iteminto a media program and (ii) transmitting, by the VPS, the mediaprogram to a video-broadcasting system configured to broadcast the mediaprogram.
 2. The method of claim 1, wherein selecting the SM content itemcomprises dragging and dropping an object associated with the SM contentitem.
 3. The method of claim 2, further comprising: before selecting theSM content item: accessing, by the VPS, via a web browser application, aSM platform associated with the SM content item; displaying, by the VPS,the web browser application in a first application window of a userinterface; and displaying, by the VPS, a drop-target object in a secondapplication window of the user interface, wherein dragging and droppingthe object comprises (i) dragging the object from the first applicationwindow to the drop-target object displayed in the second applicationwindow and (ii) dropping the object on the drop-target object.
 4. Themethod of claim 1, further comprising: before selecting the SM contentitem, storing, by the VPS, in a data storage unit of the VPS, aplurality of SM content items, wherein selecting the SM content itemcomprises selecting the SM content item from the plurality of SM contentitems stored in the data storage unit of the VPS.
 5. The method of claim1, wherein the SM content item is associated with a SM-platformuser-profile, and wherein the SM-platform user-profile is associatedwith the end-user device.
 6. The method of claim 1, wherein the VPSdetermining that the requested permission was received via the userinterface comprises: receiving, by the VPS, from the end-user device, amessage indicating that the requested permission was received via theuser interface, and based on the received message, determining, by theVPS, that the requested permission was received via the user interface.7. The method of claim 1, further comprising: storing, by the VPS, anindication that the requested permission was received.
 8. The method ofclaim 1, wherein the media program includes video content, and whereinintegrating the selected SM content item into the media programcomprises overlaying, on the video content, the selected SM contentitem.
 9. A non-transitory computer readable medium having stored thereoninstructions that, upon execution by a video-production system (VPS),cause the VPS to perform a set of acts comprising: selecting a socialmedia (SM) content item, wherein the SM content item is associated withan end-user device; based on the selected SM content item, determining aSM-platform user-profile identifier associated with the selected SMcontent item; using the identifier as a basis for determining that theend-user device has installed, in a data storage unit of the end-userdevice, an application associated with a SM computing-system of the VPS;responsive to the determining that the end-user device has installed theapplication, transmitting, to the end-user device, an instruction thatcauses the application to provide, via a user interface of the end-userdevice, a permission request concerning use of the selected SM contentitem; determining that the requested permission was received via theuser interface; and responsive to the determining that the requestedpermission was received via the user interface, (i) integrating theselected SM content item into a media program and (ii) transmitting themedia program to a video-broadcasting system configured to broadcast themedia program.
 10. The non-transitory computer readable medium of claim9, wherein selecting the SM content item comprises dragging and droppingan object associated with the SM content item.
 11. The non-transitorycomputer readable medium of claim 10, the set of acts furthercomprising: before selecting the SM content item: accessing, via a webbrowser application, a SM platform associated with the SM content item;displaying the web browser application in a first application window ofa user interface; and displaying a drop-target object in a secondapplication window of the user interface, wherein dragging and droppingthe object comprises (i) dragging the object from the first applicationwindow to the drop-target object displayed in the second applicationwindow and (ii) dropping the object on the drop-target object.
 12. Thenon-transitory computer readable medium of claim 9, the set of actsfurther comprising: before selecting the SM content item, storing, in adata storage unit of the VPS, a plurality of SM content items, whereinselecting the SM content item comprises selecting the SM content itemfrom the plurality of SM content items stored in the data storage unitof the VPS.
 13. The non-transitory computer readable medium of claim 9,wherein the SM content item is associated with a SM-platformuser-profile, and wherein the SM-platform user-profile is associatedwith the end-user device.
 14. The non-transitory computer readablemedium of claim 9, wherein the VPS determining that the requestedpermission was received via the user interface comprises: receiving,from the end-user device, a message indicating that the requestedpermission was received via the user interface, and based on thereceived message, determining that the requested permission was receivedvia the user interface.
 15. The non-transitory computer readable mediumof claim 9, the set of acts further comprising: storing an indicationthat the requested permission was received.
 16. The non-transitorycomputer readable medium of claim 9, wherein the media program includesvideo content, and wherein integrating the selected SM content item intothe media program comprises overlaying, on the video content, theselected SM content item.
 17. A video-production system (VPS)comprising: a communication interface, wherein the VPS is configured toperform a set of acts comprising: selecting a social media (SM) contentitem, wherein the SM content item is associated with an end-user device;based on the selected SM content item, determining a SM-platformuser-profile identifier associated with the selected SM content item;using the identifier as a basis for determining that the end-user devicehas installed, in a data storage unit of the end-user device, anapplication associated with a SM computing-system of the VPS; responsiveto the determining that the end-user device has installed theapplication, transmitting, to the end-user device, via the communicationinterface, an instruction that causes the application to provide, via auser interface of the end-user device, a permission request concerninguse of the selected SM content item; determining that the requestedpermission was received via the user interface; and responsive to thedetermining that the requested permission was received via the userinterface, (i) integrating the selected SM content item into a mediaprogram and (ii) transmitting the media program to a video-broadcastingsystem configured to broadcast the media program.
 18. The VPS of claim17, wherein the SM content item is associated with a SM-platformuser-profile, and wherein the SM-platform user-profile is associatedwith the end-user device.
 19. The VPS of claim 17, wherein determiningthat the requested permission was received via the user interfacecomprises: receiving, from the end-user device, a message indicatingthat the requested permission was received via the user interface, andbased on the received message, determining that the requested permissionwas received via the user interface.
 20. The VPS of claim 17, to the setof acts further comprising: storing an indication that the requestedpermission was received.